package cn.zy.jboa.dao;

import java.io.Serializable;
import java.util.List;

public interface CommonDAO {
	/**
	 * 根据主键获得一条数据
	 * @author zy
	 * @param id 主键
	 * @param clazz
	 * @return 查找到的数据
	 * */
	public Object get(Class clazz,Serializable id);
	/**
	 * 添加数据到数据库
	 * @author zy
	 * @param 将要添加的数据
	 * @return 包含了主键信息的数据
	 * */
	public Serializable add(Object obj);
	/**
	 * 根据主键删除数据
	 * @author zy
	 * @param clazz
	 * @param id主键
	 * */
	public void del(Class clazz,Serializable id);
	/**
	 * 更新数据
	 * @author zy
	 * @param obj 将要更新的数据   包含主键信息
	 * */
	public void update(Object obj);
	/**
	 * 查询数据
	 * @author zy
	 * @param hql
	 * @return
	 * */
	public List search(String hql);
	/**
	 * 分页查询
	 * @author zy
	 * @param hql
	 * */
	public List query(String hql ,int first,int size);
	/**
	 * 查询数据的条数
	 * @author zy
	 * */
	public Object count(String hql);
}
